package br.com.rnavarro.padroes.comportamental.observer;

import java.util.ArrayList;
import java.util.List;

public class BancoDeDados implements Observavel
{
	private List<Observador> observadores = new ArrayList<Observador>();
	private String operacao;
	private String registro;
	
	public void realizarQuery(String operacao, String registro)
	{
		this.operacao = operacao;
		this.registro = registro;
		
		notificarObservadores();
	}
	
	public void adcionarObservador(Observador observador)
	{
		observadores.add(observador);
	}
	
	public void removerObservador(Observador observador)
	{
		observadores.remove(observador);
	}
	
	public void notificarObservadores()
	{
		for(Observador observador : observadores)
		{
			observador.atualizar(operacao, registro);
		}
	}
}